package cn.walls1717.ggkt.order.service;

import cn.walls1717.ggkt.model.order.OrderInfo;
import cn.walls1717.ggkt.vo.order.OrderFormVo;
import cn.walls1717.ggkt.vo.order.OrderInfoQueryVo;
import cn.walls1717.ggkt.vo.order.OrderInfoVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 订单表服务接口
 *
 * @author walls1717
 * @since 2022/07/17
 */
public interface OrderInfoService extends IService<OrderInfo> {

    /**
     * 订单列表
     *
     * @param pageNum          当前页
     * @param pageSize         当前页数据量
     * @param orderInfoQueryVo 查询条件对象
     * @return map
     */
    Page<OrderInfo> listPages(Integer pageNum, Integer pageSize, OrderInfoQueryVo orderInfoQueryVo);

    /**
     * 新增点播课程订单
     *
     * @param orderFormVo 条件
     * @return 订单id
     */
    Long saveSubmitOrder(OrderFormVo orderFormVo);

    /**
     * 根据id获取
     *
     * @param id id
     * @return OrderInfo
     */
    OrderInfoVo getOrderInfoById(Long id);

    void updateOrderStatus(String out_trade_no);
}
